Wireless bluetooth communication mechanism capable of effectively reducing number of audio packet retransmission

ABSTRACT

A method applied into a controller of a wireless Bluetooth device includes: providing a first flag and a second flag; asserting the first flag when the controller successfully receives the particular packet transmitted from the audio gateway; asserting the second flag when the controller successfully receives an acknowledgement from a secondary device wherein a reception of the acknowledgement indicates that the secondary device successfully receives the particular packet; and transmitting an acknowledgement of a particular packet to an audio gateway when the first flag and the second flag are asserted.

BACKGROUND OF THE INVENTION 1. Field of the Invention

The invention relates to a Bluetooth audio communication mechanism, andmore particularly to a controller of a wireless stereo Bluetooth device,corresponding method, and such Bluetooth device.

2. Description of the Prior Art

Generally speaking, for a conventional Bluetooth communication, there isa great probability that a primary/master device successfully receivesand decodes a Bluetooth packet but a secondary/slave device fails in afirst time slot while the secondary/slave device successfully receivesand decodes the retransmitted Bluetooth packet but the primary/masterdevice fails in a second time slot later than the first time slot. Thiscauses the larger number of Bluetooth packet retransmission. Theretransmission probability becomes higher especially when the primarydevice (or secondary device) is farther away from an audio gateway in astrong interfering environment and/or the wireless communication signalbetween the primary and secondary devices is partly blocked by an objectsuch as a user's head when the primary and secondary devices areearphones or headsets.

SUMMARY OF THE INVENTION

Therefore one of the objectives of the invention is to provide a novelBluetooth audio communication mechanism, to solve the above-mentionedproblems.

According to embodiments of the invention, a controller of a wirelessstereo Bluetooth device is disclosed. The controller is capable of usedas a primary device and comprises a memory and a processor. The memoryis configured for storing a first flag and a second flag. The processoris coupled to the memory, and is configured for transmitting anacknowledgement of a particular packet to an audio gateway when thefirst flag and the second flag are asserted. The first flag is assertedby the processor when the processor successfully receives and decodesthe particular packet transmitted from the audio gateway, and the secondflag is asserted by the processor when the processor successfullyreceives an acknowledgement from a secondary device wherein a receptionof the acknowledgement indicates that the secondary device successfullyreceives and decodes the particular packet.

According to the embodiments, a method applied into a controller of awireless stereo Bluetooth device is disclosed. The controller is capableof used as a primary device. The method comprises: providing a firstflag and a second flag; asserting the first flag when the controllersuccessfully receives and decodes the particular packet transmitted fromthe audio gateway; asserting the second flag when the controllersuccessfully receives an acknowledgement from a secondary device whereina reception of the acknowledgement indicates that the secondary devicesuccessfully receives and decodes the particular packet; and,transmitting an acknowledgement of a particular packet to an audiogateway when the first flag and the second flag are asserted.

According to the embodiments, a wireless stereo Bluetooth device with amultipoint connection function is disclosed. The device comprises aplurality of controllers. A controller comprises a memory and aprocessor. The memory is configured for storing a first flag and asecond flag. The processor is coupled to the memory, and is capable oftransmitting an acknowledgement of a particular packet to an audiogateway when the first flag and the second flag are asserted. The firstflag is asserted by the processor when the processor successfullyreceives and decodes the particular packet transmitted from the audiogateway, and the second flag is asserted by the processor when theprocessor successfully receives an acknowledgement from a secondarydevice wherein a reception of the acknowledgement indicates that thesecondary device successfully receives and decodes the particularpacket.

These and other objectives of the present invention will no doubt becomeobvious to those of ordinary skill in the art after reading thefollowing detailed description of the preferred embodiment that isillustrated in the various figures and drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram of a wireless Bluetooth audio communicationsystem according to embodiments of the invention.

FIG. 2 is a timing diagram illustrating an example of the audio gateway,the Bluetooth device used as a primary headset, and the Bluetooth deviceused as a secondary headset according to the embodiments of FIG. 1.

FIG. 3 is a diagram showing traffics of audio gateway, a primary deviceas a primary headset, and a secondary device as a secondary headset overaligned time slot boundary.

FIG. 4 is a block diagram of an implementation embodiment of a wirelessBluetooth device shown in FIG. 1.

FIG. 5 is a block diagram of another implementation embodiment of awireless Bluetooth device shown in FIG. 1.

DETAILED DESCRIPTION

The invention aims at providing a solution capable of reducing thenumber of audio packet retransmission in a wireless communication so asto improve system performance as far as possible. More particularly, theprovided solution can be arranged to solve the problems of Bluetoothdevices in a wireless Bluetooth audio communication system.

Refer to FIG. 1. FIG. 1 is a block diagram of a wireless Bluetooth audiocommunication system 100 according to embodiments of the invention. Thecommunication system 100 comprises an audio gateway 105 and for exampletwo wireless Bluetooth devices 110A and 110B. The audio gateway 105 forexample is a mobile phone device or smart phone device (but notlimited). Bluetooth devices 110A and 110B are for example Bluetoothheadsets, headphones, or wireless speakers (but not limited) which canreceive wireless Bluetooth packet(s) of audio stream. For instance, theBluetooth devices 110A and 110B may be two earphone devices for a user,and the audio gateway 105 may be the user's mobile phone device whichtransmits wireless packets to the devices 110A and 110B. For Bluetoothcommunication, one of the devices 110A and 110B is used as a primarydevice and the other is used as a secondary device. The devices 110A and110B can negotiate with each other to determine which one is the primarydevice and which one is the secondary device.

A piconet for example is defined as an ad hoc network that links awireless user group of devices using Bluetooth technology protocols. Theaudio gateway 105 and a primary device can communicate with each otherdirectly in the first piconet PN1, and a secondary device does notcommunicate with audio gateway 105 directly in the first piconet PN1.For example, the primary device can send an acknowledgement signal backto the audio gateway 105 to notify the audio gateway 105 of successfullyreceiving and decoding an audio packet sent from audio gateway 105. Asecondary device does not notify the audio gateway 105 by directlysending an acknowledgement signal to audio gateway 105.

In the embodiments, the audio gateway 105 is arranged to communicatewith the primary device in the first piconet PN1 and to transmit packet(s) of audio stream to the primary device and the secondary device. Forinstance, the Bluetooth device 110A is used as a primary device, and theBluetooth device 110B is used as a corresponding secondary device.Further, after the second piconet PN2 is established, no matter whichone is used as the primary device, the Bluetooth devices 110A and 110Bcan be arranged to exchange and/or share control information and data.The Bluetooth device 110B as a secondary is arranged to sniff the audiopacket (s) from audio gateway 105 and to send acknowledgement ACK2 ornegative acknowledgement NACK2 to the Bluetooth device 110A based on thesniff result. The Bluetooth device 110A is arranged to send theacknowledgement ACK1 or negative acknowledgement NACK1 to the audiogateway 105 based on the reception result of audio packet and the sniffresult of Bluetooth device 110B; the operations will be clearlydescribed in later.

Please refer to FIG. 2. FIG. 2 is a timing diagram illustrating anexample of the audio gateway 105, the Bluetooth device 110A used as aprimary headset, and the Bluetooth device 110B used as a secondaryheadset according to the embodiments of FIG. 1. In the first case ofFIG. 2, the audio gateway 105 transmits the N-th packet indicated by #Nto the primary headset 110A, and the secondary headset 110B sniffs theN-th packet #N. In this case, both the primary headset 110A andsecondary headset 110B successfully receive and decode the N-th packet#N. The secondary headset 110B transmits an acknowledgement (ACK) to theprimary headset 110A, and after receiving the acknowledgement ACK theprimary headset 110A transmits another acknowledgement back to the audiogateway 105. When receiving the acknowledgement of the primary headset110A, the audio gateway 105 can know that the N-th packet #N has beensuccessfully received and decoded by both the headsets and may transmita next packet.

In the second case 2 a with 2 b of FIG. 2, the audio gateway 105transmits the (N+1)-th packet indicated by #(N+1) to the primary headset110A, and the secondary headset 110B sniffs the (N+1)-th packet #(N+1).In this case, the secondary headset 110B successfully sniffs to receivedand then decodes the (N+1)-th packet #(N+1), and the primary headset110A fails to receive and decode the (N+1)-th packet #(N+1). Thesecondary headset 110B is arranged to send an acknowledgement ACK to theprimary headset 110A, and the primary headset 110A is arranged to assertthe flag S-ACK after receiving the acknowledgement ACK of secondaryheadset 110B. For example, the flag S-ACK can be implemented by using abit which is configured as ‘1’ when the acknowledgement ACK of secondaryheadset 110B is received. Later, in a different timing, the audiogateway 105 retransmits the (N+1)-th packet to the primary headset 110A,and the secondary headset 110B sniffs the (N+1)-th packet #(N+1). Inthis case, the secondary headset 110B fails to sniff the retransmitted(N+1)-th packet #(N+1), and the primary headset 110A successfullyreceives and decodes the retransmitted (N+1)-th packet #(N+1). Eventhough the secondary headset 110B does not send an acknowledgement ACKto the primary headset 110A, the primary headset 110A can know that thecontent of (N+1)-th packet #(N+1) has been received and decoded by thesecondary headset 110B based on the assertion of flag S-ACK. The primaryheadset 110A transmits an acknowledgement ACK to the audio gateway 105and then resets or de-asserts the flag S-ACK as ‘0’. When receiving theacknowledgement of the primary headset 110A, the audio gateway 105 canknow that the content of (N+1)-th packet #(N+1) whether originallytransmitted or retransmitted has been successfully received and decodedby both the headsets and may transmit a next packet.

Further, in the third case 3 a with 3 b of FIG. 2, the audio gateway 105transmits the (N+2)-th packet indicated by #(N+2) to the primary headset110A, and the secondary headset 110B sniffs the (N+2)-th packet #(N+2).In this case, the secondary headset 110B fails to sniff the (N+2)-thpacket #(N+2), and the primary headset 110A successfully receives anddecodes the (N+2)-th packet #(N+2). The secondary headset 110B does notsend an acknowledgement ACK to the primary headset 110A. The primaryheadset 110A is arranged to assert the flag P-ACK after successfullyreceiving and decoding the (N+2)-th packet #(N+2). Since the primaryheadset 110A does not receive the acknowledgement ACK of the secondaryheadset 110B, the primary headset 110A may be arranged to not transmitan acknowledgement ACK to the audio gateway 105 or may be arranged totransmit a negative acknowledgement NACK to the audio gateway 105.Later, in a different timing, the audio gateway 105 retransmits the(N+2)-th packet #(N+2) to the primary headset 110A, and the secondaryheadset 110B sniffs the retransmitted (N+2)-th packet #(N+2). In thiscase, the secondary headset 110B successfully sniffs the retransmitted(N+2)-th packet #(N+2), and the primary headset 110A fails to receiveand decode the retransmitted (N+2)-th packet #(N+2). Even though theprimary headset 110A fails to receive and decode the retransmitted(N+2)-th packet #(N+2), the primary headset 110A can know that thecontent of (N+2)-th packet #(N+2) has been received and decoded by theprimary headset 110A in a previous timing based on the assertion of flagP-ACK. Then, when receiving the acknowledgement ACK of the secondaryheadset 110B, the primary headset 110A transmits another differentacknowledgement ACK to the audio gateway 105 and then resets orde-asserts the flag P-ACK as ‘0’. When receiving the acknowledgement ofthe primary headset 110A, the audio gateway 105 can know that thecontent of (N+2)-th packet #(N+2) whether originally transmitted orretransmitted has been successfully received and decoded by both theheadsets and may transmit a next packet.

Further, it is to be noted that the same audio packet may beretransmitted more times (e.g. twice or three times) if both the primaryand secondary devices fail to receive such audio packet in one timeslot. The number of retransmission of the same audio packet is not meantto be a limitation. The retransmission of the same audio packet may bearranged to not repeat until both the primary and secondary devicessuccessfully receive and decode such audio packet or until the Bluetoothcommunication is disconnected.

By doing so, the number of retransmission of an audio packet can bereduced. The audio gateway 105 can efficiently transmit audio packet(s)to both the Bluetooth devices 110A and 110B.

Refer to FIG. 3. FIG. 3 is a diagram showing traffics of audio gateway105, primary device 110A as primary headset, and secondary device 110Bas secondary headset over aligned time slot boundary. Piconets PN1 andPN2 have aligned Bluetooth time slot boundary. As shown in FIG. 3, forexample, at time slot S1, the audio gateway 105 may wirelessly transmitan audio packet such as the N-th packet to the air, and both the primarydevice 110A and secondary device 110B successfully receive and decodesuch audio packet at time slot S1. The secondary device 110B at timeslot S1 sends the acknowledge ACK2 to the primary device 110A. Theprimary device 110A asserts or sets the flag P-ACK as a high logicallevel (e.g. ‘1’) when determining that the N-th audio packet has beensuccessfully received and decoded by the primary device 110A, and thenasserts or sets the flag S-ACK as ‘1’ when determining that theacknowledgement ACK2 is successfully received by the primary device110A.

At time slot S2, the primary device 110A sends the acknowledgement ACK1to the audio gateway 105 and then de-asserts or resets both the flagsP-ACK and S-ACK as a low logic level (‘0’). Thus, based on the receptionof the acknowledgement ACK1 transmitted from primary device 110A, theaudio gateway 105 can determine that the N-th audio packet has beenreceived by both the devices 110A and 110B and does not re-transmit theN-th audio packet.

At time slot S3, the audio gateway 105 may wirelessly transmit the(N+1)-th audio packet to the air, and the secondary device 110Bsuccessfully receives and decodes such audio packet at time slot S3while the primary device 110A fails to receive and decode such audiopacket at time slot S3. The secondary device 110B then at time slot S3sends the acknowledge ACK2 to the primary device 110A. The primarydevice 110A then asserts or sets the flag S-ACK as ‘1’ when determiningthat the acknowledgement ACK2 is successfully received by the primarydevice 110A; the flag P-ACK is still kept at ‘0’.

At time slot S4, the primary device 110A may send the negativeacknowledgement NACK1 to the audio gateway 105 or may be arranged to notsend the acknowledgement ACK1 to the audio gateway 105.

When receiving the negative acknowledgement NACK1 or detecting that noacknowledgements are received at time slot S4, the audio gateway 105retransmits the (N+1)-th audio packet at time slot 5, and in thissituation the primary device 110A successfully receives and decodes suchretransmitted (N+1)-th audio packet at time slot S5 while the secondarydevice 110B fails to receive and decode such retransmitted (N+1)-thaudio packet at time slot S5. The primary device 110A then asserts orsets the flag P-ACK as ‘1’ when determining that the retransmitted(N+1)-th audio packet is successfully received by the primary device110A; the flag S-ACK is kept at ‘1’ at time slot S5.

When detecting that both the flags P-ACK and S-ACK are asserted or setas ‘1’, the primary device 110A sends the acknowledgement ACK1 to theaudio gateway 105 at a next time slot such time slot S6. Then, aftersending ACK1, the primary device 110A de-asserts or resets both theflags P-ACK and S-ACK as ‘0’ at time slot S6.

At time slot S7, the audio gateway 105 wirelessly transmits the (N+2)-thaudio packet, and the primary device 110A successfully receives anddecodes such audio packet at time slot S7 while the secondary device110B fails to receive and decode such audio packet at time slot S7. Thesecondary device 110B does not send the acknowledgement ACK2 to theprimary device 110A. Since no acknowledgements of secondary device 110Bare received at time slot S7, the primary device 110A keeps the flagS-ACK at ‘0’. For flag P-ACK, the primary device 110A asserts or setsthe flag P-ACK as ‘1’ when determining that the (N+2)-th audio packet issuccessfully received and decoded by the primary device 110A.

At time slot S8, when detecting that at least one of the flags P-ACK andS-ACK is not asserted, the primary device 110A may send the negativeacknowledgement NACK1 to the audio gateway 105 to indicate that it isneeded to retransmit the audio packet or may be arranged to not send theacknowledgement ACK1 to the audio gateway 105. At time slot S8, the flagP-ACK and flag S-ACK are kept at ‘1’ and ‘0’, respectively.

At time slot S9, when receiving the negative acknowledgement NACK1 ordetecting that no acknowledgements are received at time slot S8, theaudio gateway 105 retransmits the (N+2)-th audio packet, and in thissituation the secondary device 110B successfully receives and decodessuch retransmitted (N+2)-th audio packet at time slot S9 while theprimary device 110A may fail to receive and decode such retransmitted(N+2)-th audio packet at time slot S9. The secondary device 110B sendsthe acknowledgement ACK2 to the primary device 110A after receiving anddecoding the retransmitted (N+2)-th audio packet. The primary device110A then asserts or sets the flag S-ACK as ‘1’ when determining thatthe acknowledgement ACK2 is received by the primary device 110A. Theflag P-ACK is kept at ‘1’ at time slot S9.

At time slot S10, when detecting that both the flags P-ACK and S-ACK areasserted or set as ‘1’, the primary device 110A sends theacknowledgement ACK1 to the audio gateway 105 at a next time slot suchtime slot S10. Then, after sending ACK1, the primary device 110Ade-asserts or resets both the flags P-ACK and S-ACK as ‘0’.

Thus, by doing so, the Bluetooth device (e.g. 110A) determined as aprimary can be arranged to employ the flag S-ACK to record whether anaudio packet (whether it is transmitted for the first time or isretransmitted) is successfully received and decoded by a secondarydevice and to employ the flag P-ACK to record whether the audio packet(whether it is transmitted for the first time is retransmitted) issuccessfully received and decoded by the primary device.

FIG. 4 is a block diagram of an implementation embodiment of a wirelessBluetooth device 200 shown in FIG. 1. Each of the Bluetooth devices 110Aand 110B can be implemented by using the wireless Bluetooth device 200.That is, the above-mentioned operations and functions of Bluetoothdevices 110A and 110B are implemented by using the circuit elementscomprised within the device 200. The wireless Bluetooth device 200 forexample is with a multipoint connection function and comprises aplurality of controllers such as three controllers (but not limited)wherein one controller is used for supporting management/control trafficexchange and two controls are used for supporting different audiochannels. The multipoint connection function means that the Bluetoothdevice 200 is capable of supporting multiple Bluetooth audiocommunication channels. For example, in a Bluetooth audio communicationchannel, the Bluetooth device 200 may be a primary device, and inanother Bluetooth audio communication channel the Bluetooth device 200may be a secondary device. However, this is not intended to be alimitation. The Bluetooth device 200 may be a primary for multipleBluetooth audio communication channels or may be a secondary formultiple Bluetooth audio communication channels.

In practice, as shown in FIG. 4, the Bluetooth device 200 comprises anRF circuit 205, a baseband circuit 210, a processing module 215, amicrocontroller unit (MCU) 220, and a digital signal processor (DSP)225. The processing module 215 for example is a Bluetooth modemcontrolling module which comprises three piconet controllers 2151A-2151Cwhich respectively comprise memories 2152A-2152C and processors2153A-2153C. The RF circuit 205 is an RF transceiver used for receivinga radio signal corresponding to audio packets from an antenna (notillustrated) of Bluetooth device 200 to generate a digital signal. Thebaseband circuit 210 is coupled to the RF circuit 205 and used forreceiving and processing the digital signal in digital domain and thenproviding the processed digital signal for the processing module 215wherein the processed digital signal comprises audio data samples andcontrol data.

The controller 2151A comprises the memory 2152A and processor 2153Awherein the processor 2153A is arranged for perform peer-to-peer controlbetween two Bluetooth devices to exchange/share information such asBluetooth clock, channel information of a piconet, Bluetooth address,and so on. In addition, for determining whether the Bluetooth device 200is a primary device or a secondary device, in one embodiment, thecontroller 2151A is arranged to alternatively page to find anothercontroller of another Bluetooth device or listen whether it is paged bysuch another controller. If the controller 2151A is found by suchanother controller, then the Bluetooth device 200 is determined as thesecondary device, otherwise, the Bluetooth device 200 is determined asthe primary device.

The other two controllers 2151B and 2151C respectively support differentaudio channels. For example, the controller 2151B can be used as aprimary device for receiving Bluetooth packets from an audio gateway inthe Bluetooth mode and for receiving an acknowledgement of a secondarydevice in the TWS (wireless stereo) mode in a piconet, for the sameaudio channel such as channel A. The controller 2151C can be used as aprimary device for receiving Bluetooth packets from another differentaudio gateway in the Bluetooth mode and for receiving an acknowledgementof another secondary device in the TWS mode in another differentpiconet, for the same audio channel such as channel B. The memory 2152Bis configured to include and record a set of flags P-ACK and S-ACK, andthe memory 2152C is configured to include and record a different set offlags P-ACK and S-ACK. The processors 2153B and 2153C are arranged torespectively perform corresponding operations (assertion/de-assertion offlags and transmission of acknowledgement) associated with the first setof flags P-ACK and S-ACK and the second set of flags P-ACK and S-ACK;the descriptions are not detailed for brevity.

MCU 220 is arranged to retrieve audio data and provide the audio data tothe DSP 225. The DSP 225 is arranged to generate audio codecs based onthe audio data and output the audio codecs for audio playing. In thesame piconet, the DSP (e.g. 225) of primary headset 110A and the DSP ofsecondary headset 110B are arranged to keep the same Bluetooth clock. Inpractice, the DSP clock of secondary headset 110B is aligned with thatof primary headset 110A. In addition, both the primary headset 110A andsecondary headset 110B respectively include buffers for temporarilystoring multiple audio packets. In the example of FIG. 4, the DSP 225may include two buffers respectively supporting the piconet controllers2151B and 2151C for different piconets. In addition, for example, abuffer may be configured to buffer the amount audio packetscorresponding to audio samples with 200 ms, and one audio packet maycorrespond to audio samples with 5 ms (but not limited). When playingaudio samples of a sequence of audio packets, the DSP 225 of primaryheadset 110A and another DSP of secondary headset 110B are capable ofoutputting audio codecs corresponding to audio samples of the samepacket at the same time based on the aligned clocks for sync audioplaying.

Additionally, it should be noted that in other embodiments a wirelessstereo Bluetooth device may be with a single point connection functionand comprise a controller used as a primary device or a secondarydevice. FIG. 5 shows a block diagram of another implementation 500 ofthe wireless Bluetooth device 200 shown in FIG. 4. The operations andfunctions of circuit units in FIG. 5 are not detailed for brevity.

Further, in other implementations, a controller of a wireless Bluetoothdevice may comprise a single flag which is stored by the above-mentionedmemory and asserted by the above-mentioned processor when the processorsuccessfully receives an acknowledgement from a secondary device whereina reception of the acknowledgement indicates that the secondary devicesuccessfully receives a particular audio packet. The processor isarranged for transmitting an acknowledgement of such particular audiopacket to the audio gateway when such particular audio packet isreceived and the flag is asserted. That is, to achieve the functionsdescribed in the previous paragraphs, the number of flags is not meantto be a limitation.

Those skilled in the art will readily observe that numerousmodifications and alterations of the device and method may be made whileretaining the teachings of the invention. Accordingly, the abovedisclosure should be construed as limited only by the metes and boundsof the appended claims.

What is claimed is:
 1. A controller of a wireless Bluetooth device, comprising: a memory, configured for storing a first flag and a second flag; and a processor, coupled to the memory, configured for transmitting an acknowledgement of a particular packet to an audio gateway when the first flag and the second flag are asserted; wherein the first flag is not asserted and the second flag becomes asserted when the particular packet is not received by the processor and the processor successfully receives an acknowledgement from a secondary device wherein a reception of the acknowledgement indicates that the secondary device successfully receives the particular packet during a first time slot; and, the first flag becomes asserted and the second flag is kept asserted when the particular packet is successfully received by the processor from the audio gateway during a second time slot later than the first time slot.
 2. The controller of claim 1, wherein the first flag and the second flag are de-asserted by the processor after the processor transmits the acknowledgement of the particular packet to the audio gateway.
 3. The controller of claim 1, wherein the first flag is asserted by the processor when the processor successfully receives and decodes the particular packet transmitted from the audio gateway, and the reception of the acknowledgement indicates that the secondary device successfully receives and decodes the particular packet.
 4. A method applied into a controller of a wireless Bluetooth device, comprising: providing a first flag and a second flag; asserting the first flag when the controller successfully receives the particular packet transmitted from the audio gateway; asserting the second flag when the controller successfully receives an acknowledgement from a secondary device wherein a reception of the acknowledgement indicates that the secondary device successfully receives the particular packet; and transmitting an acknowledgement of a particular packet to an audio gateway when the first flag and the second flag are asserted; wherein the first flag is asserted by a processor of the controller at a first time slot, and the second flag is asserted by a processor of the controller at a second time slot which is different from the first time slot; and the first flag is not asserted and the second flag becomes asserted when the particular packet is not received by the processor and the processor successfully receives an acknowledgement from a secondary device wherein a reception of the acknowledgement indicates that the secondary device successfully receives the particular packet during a first time slot, and, the first flag becomes asserted and the second flag is kept asserted when the particular packet is successfully received by the processor from the audio gateway during a second time slot later than the first time slot.
 5. The method of claim 4, further comprising: de-asserting the first flag and the second flag after the acknowledgement of the particular packet is transmitted to the audio gateway.
 6. The method of claim 4, wherein the first flag is asserted when the processor successfully receives and decodes the particular packet transmitted from the audio gateway, and the reception of the acknowledgement indicates that the secondary device successfully receives and decodes the particular packet.
 7. A wireless Bluetooth device with a multipoint connection function, comprising: a plurality of controllers, a controller comprising: a memory, configured for storing a first flag and a second flag; and a processor, coupled to the memory, capable of transmitting an acknowledgement of a particular packet to an audio gateway when the first flag and the second flag are asserted; wherein the first flag is not asserted and the second flag becomes asserted when the particular packet is not received by the processor and the processor successfully receives an acknowledgement from a secondary device wherein a reception of the acknowledgement indicates that the secondary device successfully receives the particular packet during a first time slot; and, the first flag becomes asserted and the second flag is kept asserted when the particular packet is successfully received by the processor from the audio gateway during a second time slot later than the first time slot.
 8. The device of claim 7, wherein the first flag and the second flag are de-asserted by the processor after the processor transmits the acknowledgement of the particular packet to the audio gateway.
 9. The device of claim 7, wherein one among the plurality of controllers is used as a primary device corresponding to a first piconet of a first audio gateway, and another among the plurality of controllers is used as a secondary device corresponding to a second piconet of a second audio gateway which is different from the first audio gateway.
 10. The device of claim 7, wherein the first flag is asserted when the processor successfully receives and decodes the particular packet transmitted from the audio gateway, and the reception of the acknowledgement indicates that the secondary device successfully receives and decodes the particular packet.
 11. A controller of a wireless Bluetooth device, comprising: a memory, configured for storing a flag; and a processor, coupled to the memory, configured for transmitting an acknowledgement of a particular packet to an audio gateway when the particular packet is received and the flag is asserted; wherein the flag becomes asserted when the particular packet is not received by the processor and the processor successfully receives an acknowledgement from a secondary device wherein a reception of the acknowledgement indicates that the secondary device successfully receives the particular packet during a first time slot, and, the flag is kept asserted when the particular packet is successfully received by the processor from the audio gateway during a second time slot later than the first time slot. 